package com.shunda.consumer.service;

import com.shunda.common.core.domain.entity.SysDept;
import com.shunda.common.core.domain.entity.SysUser;
import com.shunda.common.core.page.TableDataInfo;
import com.shunda.consumer.domain.ConsumerUser;
import com.shunda.consumer.domain.LoginConsumerUser;
import com.shunda.trade.entity.TradeOrder;
import com.shunda.trade.entity.TradeWithdrawalsFlow;

import java.math.BigDecimal;
import java.util.List;

/**
 * @author: dongyq
 * @date: 2025/3/8 17:29
 * @since: 1.0.0
 * @功能描述:
 */
public interface IConsumerUserService {

    boolean checkUserNameUnique(String userName);

    boolean checkPhoneUnique(String phone);

    ConsumerUser selectConsumerUserByPhone(String phone);

    ConsumerUser selectConsumerUserById(Long consumerId);

    int insertTo(ConsumerUser consumerUser);

    int updateTo(ConsumerUser consumerUser, LoginConsumerUser loginConsumerUser);

    String loginGetToken(ConsumerUser consumerUser);

    List<SysDept> selectRecordByPhoneAndTop(String phone, int top);

    TableDataInfo selectOrderPageByPhone(String phone);

    TableDataInfo selectWithdrawPageByPhone(String phone);

    List<SysUser> selectSalesmanList(Long deptId);

    BigDecimal selectFundPoolTotalAmount();

    void getCaptcha(String phone) throws Exception;

    void verifyCode(String phone, String code) throws Exception;

    void loginOut(LoginConsumerUser consumerUser);
}
